package com.projles.release1.licoes;

import java.io.Serializable;
import java.util.List;

public class Licao implements Serializable {

	private static final long serialVersionUID = 3562019335994831341L;
	
	private List<Nota> licao;
	public int ponteiro = -1;
	private int intervaloAceitacao = 2;   // 1 segundos
	private float pontuacaoMinima;
	
	private boolean estaLiberada = false;
	private double pontuacaoAtingida;
	
	private final String identificador_licao;

	
	public Licao(List<Nota> licao, String identificador) {
		this.identificador_licao = identificador;
		this.licao = licao;
	}

	public String getIdentificador() {
		return identificador_licao;
	}

	
	public void finalizarLicao(double porcentagemDeAcertos) {
		this.pontuacaoAtingida = porcentagemDeAcertos;
		setLiberada();
		ponteiro = -1;
	}

	
	public double getPontuacaoAtingida() {
		return pontuacaoAtingida;
	}
	
	
	public void setLiberada() {
		estaLiberada = true;
	}
	
	
	public void setBloqueada() {
		estaLiberada = false;
	}
	
	
	public boolean estaLiberada() {
		return estaLiberada;
	}
	
	
	public Nota getProximaNota() {
		ponteiro++;
		return licao.get(ponteiro);
	}
	
	
	public int getTempoTotal() {
		return licao.get(licao.size()-1).getTempo()+intervaloAceitacao;
	}

	
	public int getTempoMaximoNota() {
		return licao.get(ponteiro).getTempo()+intervaloAceitacao;
	}

	
	public boolean ehFimLicao() {
		return (ponteiro == licao.size()-1);
	}

	
	public int getNumDeNotas() {	
		return this.licao.size();
	}

	
	public float pontuacaoMinima() {
		return this.pontuacaoMinima;
	}
	
	
}
